package modelo;

import java.util.Vector;

public class Curso {
	
    private static int numerador;
	private int numeroCurso;
	private Materia materia;
	private Profesor profesor;
	private int cantidadMaxima;
	private Vector <Alumno> alumnos;
	
	public Curso(){
		alumnos = new Vector<Alumno>();
		
	}
	
	public Curso(Materia materia, Profesor profesor, int cant ) {
		super();
		alumnos = new Vector<Alumno>();
		this.cantidadMaxima = cant;
		this.materia = materia;
		this.numeroCurso = obtenerNumero();
		this.profesor = profesor;
	}
	
	
	public int obtenerNumero(){
		numerador ++;
		return numerador;
		
	}
	
	public int getNumeroCurso() {
		return numeroCurso;
	}
	public void setNumeroCurso(int numero) {
		this.numeroCurso = numero;
	}
	public Materia getMateria() {
		return materia;
	}
	public void setMateria(Materia materia) {
		this.materia = materia;
	}
	public Profesor getProfesor() {
		return profesor;
	}
	public void setProfesor(Profesor profesor) {
		this.profesor = profesor;
	}
	public int getCantidadMaxima() {
		return cantidadMaxima;
	}
	public void setCantidadMaxima(int cant) {
		this.cantidadMaxima = cant;
	}
	
	public void agregarAlumno(Alumno a) {
		if(existeAlumno(a.getLegajo()))
			return;
		alumnos.add(a);
	}
	
	public void eliminarAlumno(Alumno a) {
		alumnos.remove(a);
	}
	
	public Vector<Alumno> getAlumnos() {
		return alumnos;
	}
	
public boolean existeAlumno(int nro){
		
		boolean salida = false;
		for(int i = 0; i<alumnos.size(); i++){
			Alumno aux = alumnos.elementAt(i);
			if(aux.getLegajo()== nro)
				salida  = true;		
		}
		return salida;	
	}
	

public Vector<String> toVector(){
		
		Vector <String> salida = new Vector<String>();
		salida.add(String.valueOf(this.getNumeroCurso()));
		salida.add(this.getMateria().getNombre());
		salida.add(this.getProfesor().getNombre());
		salida.add(String.valueOf(this.getCantidadMaxima()));
		
		return salida;		
	}
	
}
